1. Field of the Invention
The present invention relates generally to data storage systems, and more particularly, to a system and method for providing redundancy in a virtualized storage system for a computer system.
2. Background Information
Large computer data storage systems commonly comprise storage arrays such as known Redundant Array of Independent Disk (RAID) arrays. RAID arrays include RAID controllers that generally use redundancy plans, or schemas, to provide data redundancy for the array. Such RAID controllers may be configured to aggregate groups of disks into RAID arrays to provide redundancy at disk level. Several RAID arrays of the same RAID type may then be pooled. Virtual volumes can then be selected from groups of blocks (extents) from one or more of the RAID arrays. The virtual volumes are then made available for use by one or more host computers.
One problem with such RAID arrays occurs when rebuilding failed disks. Since rebuilds occur at the array level, all volumes in the pool are at risk of data loss. Large disk rebuilds may take many hours, increasing the probability of data loss. Furthermore, one set of disks can only provide storage space to volumes of one RAID type. This increases the complexity of the management of the storage system as the number of arrays of each RAID type needed for the required volumes must be established.
Some levels of RAID algorithm, such as RAID 5, suffer from a problem known in the art as “RAID write hole.” This problem occurs when writes of primary data and its corresponding redundancy data, such as parity data, are non-atomic. If the write is interrupted after the primary data has been written but before the redundancy data has been written, the redundancy data may become inconsistent with its corresponding primary data and is thus corrupted. This problem may be accepted in some systems as a reasonable risk or can worked around using non-volatile storage to cache the primary and redundancy data until it is successfully written. However, such non-volatile storage is relatively expensive.